package com.chainyoung.component_tmperson.di.module;

import com.chainyoung.common.di.scope.ActivityScope;
import com.chainyoung.component_tmperson.ui.mvp.contract.AboutProtocolContact;
import com.chainyoung.component_tmperson.ui.mvp.contract.AccountInfoContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.AddPurseContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.BindRecieveAccountContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.BrowserCollectionContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.BrowserHistoryContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.ConfirmPinCodeContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.ConfirmRepayContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.DebitContractContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.FeedBackContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.GetCoinContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.HdWalletSendTransactionContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.HdWalletSettingContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.HdWalletTokenTransactionContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.HelpCenterContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.InviteFriendContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.OtheAppSendTransactionContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.OwnWalletDebitContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.OwnWalletDebitDetailContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.RechargeRecordContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.RecieveAccountListContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.RewardContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.SelectHdWalletListContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.UpdatePwdContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.UpdateUserInfoContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.WalletAddrContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.WalletApplyDebitContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.WalletDebitContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.WalletDebitRepayRecordContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.WalletFinancingMangeContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.WalletFinancingProfitContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.WalletFinancingTradeContract;
import com.chainyoung.component_tmperson.ui.mvp.contract.WithDrawContact;
import com.chainyoung.component_tmperson.ui.mvp.model.AccountInfoModel;
import com.chainyoung.component_tmperson.ui.mvp.model.AddPurseModel;
import com.chainyoung.component_tmperson.ui.mvp.model.BrowserCollectionModel;
import com.chainyoung.component_tmperson.ui.mvp.model.BrowserHistoryModel;
import com.chainyoung.component_tmperson.ui.mvp.model.ConfirmPinCodeModel;
import com.chainyoung.component_tmperson.ui.mvp.model.ConfirmRepayModel;
import com.chainyoung.component_tmperson.ui.mvp.model.DebitContractModel;
import com.chainyoung.component_tmperson.ui.mvp.model.FeedBackModel;
import com.chainyoung.component_tmperson.ui.mvp.model.GetCoinModel;
import com.chainyoung.component_tmperson.ui.mvp.model.HdWalletSendTransactionModel;
import com.chainyoung.component_tmperson.ui.mvp.model.HdWalletSettingModel;
import com.chainyoung.component_tmperson.ui.mvp.model.HdWalletTokenTransactionModel;
import com.chainyoung.component_tmperson.ui.mvp.model.HelpCenterModel;
import com.chainyoung.component_tmperson.ui.mvp.model.InviteFriendModel;
import com.chainyoung.component_tmperson.ui.mvp.model.OtherAppSendTransactionModel;
import com.chainyoung.component_tmperson.ui.mvp.model.OwnWalletDebitDetailModel;
import com.chainyoung.component_tmperson.ui.mvp.model.OwnWalletDebitModel;
import com.chainyoung.component_tmperson.ui.mvp.model.ProtocolModel;
import com.chainyoung.component_tmperson.ui.mvp.model.RechargeRecordModel;
import com.chainyoung.component_tmperson.ui.mvp.model.RecieveAccountListModel;
import com.chainyoung.component_tmperson.ui.mvp.model.RewardModel;
import com.chainyoung.component_tmperson.ui.mvp.model.SelectHdWalletListModel;
import com.chainyoung.component_tmperson.ui.mvp.model.SetRecieveAccountModel;
import com.chainyoung.component_tmperson.ui.mvp.model.UpdatePwdModel;
import com.chainyoung.component_tmperson.ui.mvp.model.UpdateUserInfoModel;
import com.chainyoung.component_tmperson.ui.mvp.model.WalletAddrModel;
import com.chainyoung.component_tmperson.ui.mvp.model.WalletApplyDebitModel;
import com.chainyoung.component_tmperson.ui.mvp.model.WalletDebitModel;
import com.chainyoung.component_tmperson.ui.mvp.model.WalletDebitRepayRecordModel;
import com.chainyoung.component_tmperson.ui.mvp.model.WalletFinancingMangeModel;
import com.chainyoung.component_tmperson.ui.mvp.model.WalletFinancingProfitModel;
import com.chainyoung.component_tmperson.ui.mvp.model.WalletFinancingTradeModel;
import com.chainyoung.component_tmperson.ui.mvp.model.WithDrawModel;

import dagger.Module;
import dagger.Provides;

@Module
public class PersonActivityModule {


    private WalletAddrContract.View view;

    private RechargeRecordContract.View recordView;

    private BindRecieveAccountContract.View bindView;

    private RecieveAccountListContract.View accountView;

    private AccountInfoContract.View accoutInfoView;

    private WithDrawContact.View withdrawView;

    private UpdateUserInfoContract.View updateInfoView;

    private UpdatePwdContract.View updatePwdView;

    private InviteFriendContract.View friendView;

    private FeedBackContract.View feedBackView;

    private GetCoinContract.View getCoinView;


    private AddPurseContract.View addPurseView;

    private AboutProtocolContact.View protocolView;

    private HelpCenterContract.View helpCenterView;

    private HdWalletSendTransactionContract.View sendTransactionView;

    //private HdWalletContract.View hdWalletView;

    private OtheAppSendTransactionContract.View otherAppView;

    private BrowserCollectionContract.View browserView;

    private BrowserHistoryContract.View browserHistoryView;

    private ConfirmPinCodeContract.View confirmPinCodeView;

    private WalletFinancingTradeContract.View tradeView;

    private WalletFinancingProfitContract.View profitView;

    private HdWalletSettingContract.View settingView;

    private WalletApplyDebitContract.View applyView;

    private OwnWalletDebitContract.View ownDebitView;

    private OwnWalletDebitDetailContract.View debitDetailView;

    private WalletDebitRepayRecordContract.View repayRecordView;

    private ConfirmRepayContract.View confirmRepayView;

    private DebitContractContract.View contractView;

    private RewardContract.View rewardView;

    private HdWalletTokenTransactionContract.View tokenTransactionView;

    private WalletDebitContract.View walletDebitView;

    private WalletFinancingMangeContract.View walletFinancingView;

    private SelectHdWalletListContract.View selectWalletView;

    public PersonActivityModule(WalletAddrContract.View view) {
        this.view = view;
    }

    public PersonActivityModule(RechargeRecordContract.View view) {
        this.recordView = view;
    }


    public PersonActivityModule(BindRecieveAccountContract.View view) {
        this.bindView = view;
    }

    public PersonActivityModule(RecieveAccountListContract.View view) {
        this.accountView = view;
    }

    public PersonActivityModule(AccountInfoContract.View view) {
        this.accoutInfoView = view;
    }

    public PersonActivityModule(WithDrawContact.View view) {
        this.withdrawView = view;
    }

    public PersonActivityModule(UpdateUserInfoContract.View view) {
        this.updateInfoView = view;
    }

    public PersonActivityModule(UpdatePwdContract.View view) {
        this.updatePwdView = view;
    }

    public PersonActivityModule(InviteFriendContract.View view) {
        this.friendView = view;
    }

    public PersonActivityModule(FeedBackContract.View view) {
        this.feedBackView = view;
    }

    public PersonActivityModule(GetCoinContract.View view) {
        this.getCoinView = view;
    }


    public PersonActivityModule(AddPurseContract.View view) {
        this.addPurseView = view;
    }

    public PersonActivityModule(AboutProtocolContact.View view) {
        this.protocolView = view;
    }

    public PersonActivityModule(HelpCenterContract.View view) {
        this.helpCenterView = view;
    }

    public PersonActivityModule(HdWalletSendTransactionContract.View view) {
        this.sendTransactionView = view;
    }

//   public PersonActivityModule(HdWalletContract.View view) {
//        this.hdWalletView = view;
//    }


    public PersonActivityModule(OtheAppSendTransactionContract.View view) {
        this.otherAppView = view;
    }

    public PersonActivityModule(BrowserCollectionContract.View view) {
        this.browserView = view;
    }

    public PersonActivityModule(BrowserHistoryContract.View view) {
        this.browserHistoryView = view;
    }

    public PersonActivityModule(ConfirmPinCodeContract.View view) {
        this.confirmPinCodeView = view;
    }

    public PersonActivityModule(WalletFinancingTradeContract.View view) {
        this.tradeView = view;
    }

    public PersonActivityModule(WalletFinancingProfitContract.View view) {
        this.profitView = view;
    }

    public PersonActivityModule(HdWalletSettingContract.View view) {
        this.settingView = view;
    }

    public PersonActivityModule(WalletApplyDebitContract.View view) {
        this.applyView = view;
    }

    public PersonActivityModule(OwnWalletDebitContract.View view) {
        this.ownDebitView = view;
    }

    public PersonActivityModule(OwnWalletDebitDetailContract.View view) {
        this.debitDetailView = view;
    }

    public PersonActivityModule(WalletDebitRepayRecordContract.View view) {
        this.repayRecordView = view;
    }

    public PersonActivityModule(ConfirmRepayContract.View view) {
        this.confirmRepayView = view;
    }

    public PersonActivityModule(DebitContractContract.View view) {
        this.contractView = view;
    }

    public PersonActivityModule(RewardContract.View view) {
        this.rewardView = view;
    }

    public PersonActivityModule(HdWalletTokenTransactionContract.View view) {
        this.tokenTransactionView = view;
    }

    public PersonActivityModule(WalletDebitContract.View view) {
        this.walletDebitView = view;
    }

    public PersonActivityModule(WalletFinancingMangeContract.View view) {
        this.walletFinancingView = view;
    }


    public PersonActivityModule(SelectHdWalletListContract.View view) {
        this.selectWalletView = view;
    }

    @ActivityScope
    @Provides
    WalletAddrContract.View providerWalletAddrView() {
        return this.view;
    }

    @ActivityScope
    @Provides
    WalletAddrContract.Model providerWalletAddrModel(WalletAddrModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    RechargeRecordContract.View providerRechargeRecordView() {
        return this.recordView;
    }

    @ActivityScope
    @Provides
    RechargeRecordContract.Model providerRechargeRecordModel(RechargeRecordModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    BindRecieveAccountContract.View providerBindAccountView() {
        return this.bindView;
    }

    @ActivityScope
    @Provides
    BindRecieveAccountContract.Model providerBindAccountModel(SetRecieveAccountModel model) {
        return model;
    }

    @ActivityScope
    @Provides
    RecieveAccountListContract.View providerAccountView() {
        return this.accountView;
    }

    @ActivityScope
    @Provides
    RecieveAccountListContract.Model providerAccountModel(RecieveAccountListModel model) {
        return model;
    }

    @ActivityScope
    @Provides
    AccountInfoContract.View providerAccountInfoView() {
        return this.accoutInfoView;
    }

    @ActivityScope
    @Provides
    AccountInfoContract.Model providerAccountInfoModel(AccountInfoModel model) {
        return model;
    }

    @ActivityScope
    @Provides
    WithDrawContact.View providerWithdrawView() {
        return this.withdrawView;
    }

    @ActivityScope
    @Provides
    WithDrawContact.Model providerWithDrawModel(WithDrawModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    UpdateUserInfoContract.View providerUpdateInfoView() {
        return this.updateInfoView;
    }

    @ActivityScope
    @Provides
    UpdateUserInfoContract.Model providerUpdateInfoModel(UpdateUserInfoModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    UpdatePwdContract.View providerUpdatePwdView() {
        return this.updatePwdView;
    }

    @ActivityScope
    @Provides
    UpdatePwdContract.Model providerUpdatePwdModel(UpdatePwdModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    InviteFriendContract.View providerInviteView() {
        return this.friendView;
    }

    @ActivityScope
    @Provides
    InviteFriendContract.Model providerInviteModel(InviteFriendModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    FeedBackContract.View providerFeedBackView() {
        return this.feedBackView;
    }

    @ActivityScope
    @Provides
    FeedBackContract.Model providerFeedBackModel(FeedBackModel model) {
        return model;
    }

    @ActivityScope
    @Provides
    GetCoinContract.View providerGetCoinView() {
        return this.getCoinView;
    }

    @ActivityScope
    @Provides
    GetCoinContract.Model providerGetCoinModel(GetCoinModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    AddPurseContract.View providerAddPurseView() {
        return this.addPurseView;
    }

    @ActivityScope
    @Provides
    AddPurseContract.Model providerAddPurseModel(AddPurseModel model) {
        return model;
    }

    @ActivityScope
    @Provides
    AboutProtocolContact.View providerProtocolView() {
        return this.protocolView;
    }

    @ActivityScope
    @Provides
    AboutProtocolContact.Model providerProtocolModel(ProtocolModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    HelpCenterContract.View providerHelpCenterlView() {
        return this.helpCenterView;
    }


    @ActivityScope
    @Provides
    HelpCenterContract.Model providerHelpCenterlModel(HelpCenterModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    HdWalletSendTransactionContract.View providerSendTransactionView() {
        return this.sendTransactionView;
    }


    @ActivityScope
    @Provides
    HdWalletSendTransactionContract.Model providerSendTransactionModel(HdWalletSendTransactionModel model) {
        return model;
    }

//
//    @ActivityScope
//    @Provides
//    HdWalletContract.View providerHdWalletView() {
//        return this.hdWalletView;
//    }
//
//
//    @ActivityScope
//    @Provides
//    HdWalletContract.Model providerHdWalletModel(HdWalletModel model) {
//        return model;
//    }

    @ActivityScope
    @Provides
    OtheAppSendTransactionContract.View providerOtherAppView() {
        return this.otherAppView;
    }


    @ActivityScope
    @Provides
    OtheAppSendTransactionContract.Model providerOtherAppModel(OtherAppSendTransactionModel model) {
        return model;
    }

    @ActivityScope
    @Provides
    BrowserCollectionContract.View providerBrowserView() {
        return this.browserView;
    }


    @ActivityScope
    @Provides
    BrowserCollectionContract.Model providerBrowserModel(BrowserCollectionModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    BrowserHistoryContract.View providerBrowserHistoryView() {
        return this.browserHistoryView;
    }


    @ActivityScope
    @Provides
    BrowserHistoryContract.Model providerBrowserHistoryModel(BrowserHistoryModel model) {
        return model;
    }

    @ActivityScope
    @Provides
    ConfirmPinCodeContract.View providerConfirmPinCodeView() {
        return this.confirmPinCodeView;
    }


    @ActivityScope
    @Provides
    ConfirmPinCodeContract.Model providerConfirmPinCodeModel(ConfirmPinCodeModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    WalletFinancingTradeContract.View providerFinancingTradeView() {
        return this.tradeView;
    }


    @ActivityScope
    @Provides
    WalletFinancingTradeContract.Model providerFinancingTradeModel(WalletFinancingTradeModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    WalletFinancingProfitContract.View providerFinancingProfitView() {
        return this.profitView;
    }


    @ActivityScope
    @Provides
    WalletFinancingProfitContract.Model providerFinancingProfitModel(WalletFinancingProfitModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    HdWalletSettingContract.View providerWalletSettingView() {
        return this.settingView;
    }


    @ActivityScope
    @Provides
    HdWalletSettingContract.Model providerWalletSettingModel(HdWalletSettingModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    WalletApplyDebitContract.View providerWalletApplyDebitView() {
        return this.applyView;
    }


    @ActivityScope
    @Provides
    WalletApplyDebitContract.Model providerWalletApplyDebitModel(WalletApplyDebitModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    OwnWalletDebitContract.View providerWalletOwnDebitView() {
        return this.ownDebitView;
    }


    @ActivityScope
    @Provides
    OwnWalletDebitContract.Model providerWalletOwnDebitModel(OwnWalletDebitModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    OwnWalletDebitDetailContract.View providerWalletOwnDebitDetailView() {
        return this.debitDetailView;
    }


    @ActivityScope
    @Provides
    OwnWalletDebitDetailContract.Model providerWalletOwnDebitDetailModel(OwnWalletDebitDetailModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    WalletDebitRepayRecordContract.View providerWalletRepayRecordView() {
        return this.repayRecordView;
    }


    @ActivityScope
    @Provides
    WalletDebitRepayRecordContract.Model providerWalletRepayRecordModel(WalletDebitRepayRecordModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    ConfirmRepayContract.View providerWalletConfirmRepayView() {
        return this.confirmRepayView;
    }


    @ActivityScope
    @Provides
    ConfirmRepayContract.Model providerWalletConfirmRepayModel(ConfirmRepayModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    DebitContractContract.View providerWalletDebitContractView() {
        return this.contractView;
    }


    @ActivityScope
    @Provides
    DebitContractContract.Model providerWalletDebitContractModel(DebitContractModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    RewardContract.View providerRewardContractView() {
        return this.rewardView;
    }


    @ActivityScope
    @Provides
    RewardContract.Model providerRewardContractModel(RewardModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    HdWalletTokenTransactionContract.View providerHdWalletTokenTransactionView() {
        return this.tokenTransactionView;
    }


    @ActivityScope
    @Provides
    HdWalletTokenTransactionContract.Model providerHdWalletTokenTransactionContractModel(HdWalletTokenTransactionModel model) {
        return model;
    }



    @ActivityScope
    @Provides
    WalletDebitContract.View providerWalletDebitView() {
        return this.walletDebitView;
    }


    @ActivityScope
    @Provides
    WalletDebitContract.Model providerWalletDebitModel(WalletDebitModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    WalletFinancingMangeContract.View providerWalletFinancingView() {
        return this.walletFinancingView;
    }


    @ActivityScope
    @Provides
    WalletFinancingMangeContract.Model providerWalletFinancingModel(WalletFinancingMangeModel model) {
        return model;
    }


    @ActivityScope
    @Provides
    SelectHdWalletListContract.View providerSelectHdWalletView() {
        return this.selectWalletView;
    }


    @ActivityScope
    @Provides
    SelectHdWalletListContract.Model providerSelectHdWalletModel(SelectHdWalletListModel model) {
        return model;
    }


}
